package com.hightrast.service.api.domain.vo.menu;

import com.hightrast.service.api.interfaceFuc.TreeNode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * <p>
 * 用户菜单
 * </p>
 *
 * @author hx
 * @since 2025-01-11
 */
@Data
@ApiModel(value="用户菜单对象")
public class QueryRastUserMenuVo implements TreeNode<QueryRastUserMenuVo> {

    @ApiModelProperty("主键id")
    private Long id;

    @ApiModelProperty(value = "菜单名称")
    private String name;

    @ApiModelProperty(value = "显示名称")
    private String label;

    @ApiModelProperty(value = "父级菜单id, 当前是父级菜单就默认为0")
    private Long parentId;

    @ApiModelProperty(value = "备注")
    private String icon;

    @ApiModelProperty(value = "路由路径，只有当为最后一层才有页面路径")
    private String path;

    @ApiModelProperty(value = "子集")
    private List<QueryRastUserMenuVo> children;


    @Override
    public Long getId() {
        return id;
    }

    @Override
    public Long getParentId() {
        return parentId;
    }

    @Override
    public List<QueryRastUserMenuVo> getChildren() {
        return children;
    }

    @Override
    public void setChildren(List<QueryRastUserMenuVo> children) {
        this.children = children;
    }
}
